using System;using Tools;
//%+E
[Serializable] public class E : SYMBOL{
 public  X  left ;
 public  X  right ;
 public  binary_op  op ;
 public  E (Parser yyq, X  a , binary_op  op , X  b ):base(yyq){ left = a ;
 right = b ;
 this . op = op ;
 Console . WriteLine ("E(a={0}, o={2}, b={1})", a , b , op );
}

public override string yyname() { return "E"; }
public E(Parser yyp):base(yyp){}}

[Serializable] public class E_1 : E {
  public E_1(Parser yyq):base(yyq,
	((X)(yyq.StackAt(3).m_value))
	,
	((binary_op)(yyq.StackAt(2).m_value))
	,
	((X)(yyq.StackAt(1).m_value))
	){}}
[Serializable] public class yysyntax: Symbols {
  public override object Action(Parser yyq,SYMBOL yysym, int yyact) {
    switch(yyact) {
	 case -1: break; //// keep compiler happy
}  return null; }
public yysyntax() { arr = new byte[] { 
0,1,0,0,0,255,255,255,255,1,
0,0,0,0,0,0,0,12,2,0,0,
0,60,84,111,111,108,115,44,32,86,101,
114,115,105,111,110,61,48,46,48,46,48,
46,48,44,32,67,117,108,116,117,114,101,
61,110,101,117,116,114,97,108,44,32,80,
117,98,108,105,99,75,101,121,84,111,107,
101,110,61,110,117,108,108,5,1,0,0,
0,13,84,111,111,108,115,46,67,83,121,
109,98,111,108,4,0,0,0,9,109,95,
115,121,109,116,121,112,101,8,109,95,100,
111,108,108,97,114,3,112,111,115,11,84,
79,75,69,78,43,109,95,115,116,114,4,
2,0,1,21,84,111,111,108,115,46,67,
83,121,109,98,111,108,43,83,121,109,84,
121,112,101,2,0,0,0,8,2,0,0,
0,5,253,255,255,255,21,84,111,111,108,
115,46,67,83,121,109,98,111,108,43,83,
121,109,84,121,112,101,1,0,0,0,7,
118,97,108,117,101,95,95,0,8,2,0,
0,0,2,0,0,0,10,0,0,0,0,
6,4,0,0,0,1,69,11,0,1,0,
0,0,255,255,255,255,1,0,0,0,0,
0,0,0,12,2,0,0,0,60,84,111,
111,108,115,44,32,86,101,114,115,105,111,
110,61,48,46,48,46,48,46,48,44,32,
67,117,108,116,117,114,101,61,110,101,117,
116,114,97,108,44,32,80,117,98,108,105,
99,75,101,121,84,111,107,101,110,61,110,
117,108,108,5,1,0,0,0,16,84,111,
111,108,115,46,80,97,114,115,101,83,116,
97,116,101,2,0,0,0,7,109,95,115,
116,97,116,101,9,109,95,99,104,97,110,
103,101,100,0,0,8,1,2,0,0,0,
4,0,0,0,0,11,0,1,0,0,0,
255,255,255,255,1,0,0,0,0,0,0,
0,4,1,0,0,0,28,83,121,115,116,
101,109,46,67,111,108,108,101,99,116,105,
111,110,115,46,72,97,115,104,116,97,98,
108,101,7,0,0,0,10,76,111,97,100,
70,97,99,116,111,114,7,86,101,114,115,
105,111,110,8,67,111,109,112,97,114,101,
114,16,72,97,115,104,67,111,100,101,80,
114,111,118,105,100,101,114,8,72,97,115,
104,83,105,122,101,4,75,101,121,115,6,
86,97,108,117,101,115,0,0,3,3,0,
5,5,11,8,28,83,121,115,116,101,109,
46,67,111,108,108,101,99,116,105,111,110,
115,46,73,67,111,109,112,97,114,101,114,
36,83,121,115,116,101,109,46,67,111,108,
108,101,99,116,105,111,110,115,46,73,72,
97,115,104,67,111,100,101,80,114,111,118,
105,100,101,114,8,236,81,56,63,5,0,
0,0,10,10,11,0,0,0,9,2,0,
0,0,9,3,0,0,0,16,2,0,0,
0,5,0,0,0,8,8,4,0,0,0,
8,8,3,0,0,0,8,8,2,0,0,
0,8,8,1,0,0,0,8,8,0,0,
0,0,16,3,0,0,0,5,0,0,0,
9,4,0,0,0,9,5,0,0,0,9,
6,0,0,0,9,7,0,0,0,9,8,
0,0,0,12,9,0,0,0,60,84,111,
111,108,115,44,32,86,101,114,115,105,111,
110,61,48,46,48,46,48,46,48,44,32,
67,117,108,116,117,114,101,61,110,101,117,
116,114,97,108,44,32,80,117,98,108,105,
99,75,101,121,84,111,107,101,110,61,110,
117,108,108,5,4,0,0,0,16,84,111,
111,108,115,46,80,97,114,115,101,83,116,
97,116,101,2,0,0,0,7,109,95,115,
116,97,116,101,9,109,95,99,104,97,110,
103,101,100,0,0,8,1,9,0,0,0,
4,0,0,0,0,1,5,0,0,0,4,
0,0,0,3,0,0,0,0,1,6,0,
0,0,4,0,0,0,2,0,0,0,0,
1,7,0,0,0,4,0,0,0,1,0,
0,0,0,1,8,0,0,0,4,0,0,
0,0,0,0,0,0,11,0,1,0,0,
0,255,255,255,255,1,0,0,0,0,0,
0,0,4,1,0,0,0,28,83,121,115,
116,101,109,46,67,111,108,108,101,99,116,
105,111,110,115,46,72,97,115,104,116,97,
98,108,101,7,0,0,0,10,76,111,97,
100,70,97,99,116,111,114,7,86,101,114,
115,105,111,110,8,67,111,109,112,97,114,
101,114,16,72,97,115,104,67,111,100,101,
80,114,111,118,105,100,101,114,8,72,97,
115,104,83,105,122,101,4,75,101,121,115,
6,86,97,108,117,101,115,0,0,3,3,
0,5,5,11,8,28,83,121,115,116,101,
109,46,67,111,108,108,101,99,116,105,111,
110,115,46,73,67,111,109,112,97,114,101,
114,36,83,121,115,116,101,109,46,67,111,
108,108,101,99,116,105,111,110,115,46,73,
72,97,115,104,67,111,100,101,80,114,111,
118,105,100,101,114,8,236,81,56,63,6,
0,0,0,10,10,11,0,0,0,9,2,
0,0,0,9,3,0,0,0,16,2,0,
0,0,6,0,0,0,6,4,0,0,0,
1,88,6,5,0,0,0,3,69,79,70,
6,6,0,0,0,3,69,95,49,6,7,
0,0,0,9,98,105,110,97,114,121,95,
111,112,6,8,0,0,0,1,69,6,9,
0,0,0,5,101,114,114,111,114,16,3,
0,0,0,6,0,0,0,9,10,0,0,
0,9,11,0,0,0,9,12,0,0,0,
9,13,0,0,0,9,14,0,0,0,9,
15,0,0,0,12,16,0,0,0,60,84,
111,111,108,115,44,32,86,101,114,115,105,
111,110,61,48,46,48,46,48,46,48,44,
32,67,117,108,116,117,114,101,61,110,101,
117,116,114,97,108,44,32,80,117,98,108,
105,99,75,101,121,84,111,107,101,110,61,
110,117,108,108,5,10,0,0,0,17,84,
111,111,108,115,46,80,97,114,115,105,110,
103,73,110,102,111,2,0,0,0,9,109,
95,115,121,109,78,97,109,101,12,109,95,
112,97,114,115,101,116,97,98,108,101,1,
3,28,83,121,115,116,101,109,46,67,111,
108,108,101,99,116,105,111,110,115,46,72,
97,115,104,116,97,98,108,101,16,0,0,
0,9,4,0,0,0,9,18,0,0,0,
1,11,0,0,0,10,0,0,0,9,5,
0,0,0,9,20,0,0,0,1,12,0,
0,0,10,0,0,0,9,6,0,0,0,
9,22,0,0,0,1,13,0,0,0,10,
0,0,0,9,7,0,0,0,9,24,0,
0,0,1,14,0,0,0,10,0,0,0,
9,8,0,0,0,9,22,0,0,0,1,
15,0,0,0,10,0,0,0,9,9,0,
0,0,9,28,0,0,0,1,18,0,0,
0,1,0,0,0,236,81,56,63,2,0,
0,0,10,10,11,0,0,0,9,29,0,
0,0,9,30,0,0,0,1,20,0,0,
0,1,0,0,0,236,81,56,63,1,0,
0,0,10,10,11,0,0,0,9,31,0,
0,0,9,32,0,0,0,1,22,0,0,
0,1,0,0,0,236,81,56,63,1,0,
0,0,10,10,11,0,0,0,9,33,0,
0,0,9,34,0,0,0,1,24,0,0,
0,1,0,0,0,236,81,56,63,1,0,
0,0,10,10,11,0,0,0,9,35,0,
0,0,9,36,0,0,0,1,28,0,0,
0,1,0,0,0,236,81,56,63,0,0,
0,0,10,10,11,0,0,0,9,37,0,
0,0,9,38,0,0,0,16,29,0,0,
0,2,0,0,0,8,8,2,0,0,0,
8,8,0,0,0,0,16,30,0,0,0,
2,0,0,0,9,39,0,0,0,9,40,
0,0,0,16,31,0,0,0,1,0,0,
0,8,8,3,0,0,0,16,32,0,0,
0,1,0,0,0,9,41,0,0,0,16,
33,0,0,0,1,0,0,0,8,8,0,
0,0,0,16,34,0,0,0,1,0,0,
0,9,42,0,0,0,16,35,0,0,0,
1,0,0,0,8,8,1,0,0,0,16,
36,0,0,0,1,0,0,0,9,43,0,
0,0,16,37,0,0,0,0,0,0,0,
16,38,0,0,0,0,0,0,0,5,39,
0,0,0,17,84,111,111,108,115,46,80,
97,114,115,101,114,83,104,105,102,116,2,
0,0,0,6,109,95,110,101,120,116,8,
109,95,97,99,116,105,111,110,4,4,16,
84,111,111,108,115,46,80,97,114,115,101,
83,116,97,116,101,16,0,0,0,18,84,
111,111,108,115,46,80,97,114,115,101,114,
65,99,116,105,111,110,16,0,0,0,16,
0,0,0,9,44,0,0,0,10,1,40,
0,0,0,39,0,0,0,9,45,0,0,
0,10,5,41,0,0,0,18,84,111,111,
108,115,46,80,97,114,115,101,114,82,101,
100,117,99,101,3,0,0,0,7,109,95,
100,101,112,116,104,6,109,95,112,114,111,
100,8,109,95,97,99,116,105,111,110,0,
4,4,8,16,84,111,111,108,115,46,80,
114,111,100,117,99,116,105,111,110,16,0,
0,0,24,84,111,111,108,115,46,80,97,
114,115,101,114,83,105,109,112,108,101,65,
99,116,105,111,110,16,0,0,0,16,0,
0,0,3,0,0,0,9,46,0,0,0,
9,47,0,0,0,1,42,0,0,0,39,
0,0,0,9,48,0,0,0,10,1,43,
0,0,0,39,0,0,0,9,49,0,0,
0,10,5,44,0,0,0,16,84,111,111,
108,115,46,80,97,114,115,101,83,116,97,
116,101,2,0,0,0,7,109,95,115,116,
97,116,101,9,109,95,99,104,97,110,103,
101,100,0,0,8,1,16,0,0,0,3,
0,0,0,0,1,45,0,0,0,44,0,
0,0,1,0,0,0,0,5,46,0,0,
0,16,84,111,111,108,115,46,80,114,111,
100,117,99,116,105,111,110,1,0,0,0,
5,109,95,112,110,111,0,8,16,0,0,
0,1,0,0,0,5,47,0,0,0,24,
84,111,111,108,115,46,80,97,114,115,101,
114,83,105,109,112,108,101,65,99,116,105,
111,110,6,0,0,0,5,109,95,115,121,
109,5,109,95,108,101,110,9,109,95,115,
121,109,116,121,112,101,8,109,95,100,111,
108,108,97,114,3,112,111,115,11,84,79,
75,69,78,43,109,95,115,116,114,4,0,
4,2,0,1,13,84,111,111,108,115,46,
67,83,121,109,98,111,108,16,0,0,0,
8,21,84,111,111,108,115,46,67,83,121,
109,98,111,108,43,83,121,109,84,121,112,
101,16,0,0,0,8,16,0,0,0,9,
50,0,0,0,4,0,0,0,5,205,255,
255,255,21,84,111,111,108,115,46,67,83,
121,109,98,111,108,43,83,121,109,84,121,
112,101,1,0,0,0,7,118,97,108,117,
101,95,95,0,8,16,0,0,0,5,0,
0,0,10,0,1,0,0,6,52,0,0,
0,2,37,69,1,48,0,0,0,44,0,
0,0,4,0,0,0,0,1,49,0,0,
0,44,0,0,0,2,0,0,0,0,5,
50,0,0,0,13,84,111,111,108,115,46,
67,83,121,109,98,111,108,4,0,0,0,
9,109,95,115,121,109,116,121,112,101,8,
109,95,100,111,108,108,97,114,3,112,111,
115,11,84,79,75,69,78,43,109,95,115,
116,114,4,2,0,1,21,84,111,111,108,
115,46,67,83,121,109,98,111,108,43,83,
121,109,84,121,112,101,16,0,0,0,8,
16,0,0,0,1,203,255,255,255,205,255,
255,255,3,0,0,0,10,0,0,0,0,
9,6,0,0,0,11,0};
new Sfactory(this,"E_1",new SCreator(E_1_factory));
new Sfactory(this,"E",new SCreator(E_factory));
new Sfactory(this,"error",new SCreator(error_factory));
}
public static object E_1_factory(Parser yyp) { return new E_1(yyp); }
public static object E_factory(Parser yyp) { return new E(yyp); }
public static object error_factory(Parser yyp) { return new error(yyp); }
}
public class syntax: Parser {
public syntax(Lexer yyl):base(new yysyntax(),yyl) {}
public syntax(Symbols syms,Lexer yyl):base(syms,yyl) {}

 }
